草庐IT

awk 过滤列

全部标签

python - 在 groupby pandas 之后过滤行

我在Pandas中有一张table:importpandasaspddf=pd.DataFrame({'LeafID':[1,1,2,1,3,3,1,6,3,5,1],'pidx':[10,10,300,10,30,40,20,10,30,45,20],'pidy':[20,20,400,20,15,20,12,43,54,112,23],'count':[10,20,30,40,80,10,20,50,30,10,70],'score':[10,10,10,22,22,3,4,5,9,0,1]})LeafIDcountpidxpidyscore01101020101120102010

awk - Unix/Perl/ python : substitute list on big data set

我有一个包含大约13491个键/值对的映射文件,我需要用它来将键替换为数据集中大约500000行的值,这些数据集分为25个不同的文件。示例映射:value1,value2示例输入:field1,field2,**value1**,field4示例输出:field1,field2,**value2**,field4请注意,该值可能位于出现次数超过1次的行中的不同位置。我目前的方法是使用AWK:awk-F,'NR==FNR{a[$1]=$2;下一个}{for(iina)gsub(i,a[i]);打印}'mapping.txtfile1.txt>file1_mapped.txt但是,这需要很

python - 在调用函数的列表理解中有效地过滤掉 'None' 项

我有一个列表理解,它调用一个可能返回None的函数。>>>f=lambdax:xifx>>l=[f(x)forxin[1,2,3,4]][1,2,None,None]我想要像上面那样理解列表,但没有“无”条目。有什么方法可以更有效地执行以下操作,既不会产生额外的开销,又能保持列表理解的效率?>>>filter(None,[f(x)forxin[1,2,3,4]])[1,2] 最佳答案 将if添加到您的理解中,例如:l=[yforyin(f(x)forxin[1,2,3,4])ifyisnotNone]通过放置GeneratorExp

python - 如何按特定月份/日期过滤日期数据框?

所以我的代码如下:df['Dates'][df['Dates'].index.month==11]我正在做一个测试,看看我是否可以过滤月份,以便它只显示11月的日期,但这没有用。它给了我以下错误:AttributeError:'Int64Index'objecthasnoattribute'month'。如果我这样做printtype(df['Dates'][0])然后我得到类“pandas.tslib.Timestamp”,这让我相信存储在数据框中的对象类型是时间戳对象。(我不确定'Int64Index'来自哪里......因为之前的错误)我想要做的是:dataframe列包含从20

python - 通过 id 列表过滤 pandas 数据框

我有一个pandas数据框,其中包含用户ID的“subscriber_id”列表和一些其他信息。我只想选择不在给定列表A中的订阅者。因此,如果我们的数据框包含订阅者[1,2,3,4,5]的信息,而我的排除列表是[2,4,5],我现在应该得到一个包含[1,3]信息的数据框我试过如下使用面具:temp=df.mask(lambdax:x['subscriber_id']不在订阅者中)但没有运气!我确信notin是有效的Python语法,因为我在如下列表中对其进行了测试:c=[1,2,3,4,5]if5notinc:print'YAY'>>YAY过滤数据框的任何建议或替代方法?

python - 过滤时从 Pandas 数据框中获取子字符串

假设我有一个包含以下信息的数据框:NamePointsStringJohn24FTS8500001ARichard35FTS6700001BJohn29FTS2500001ARichard35FTS3800001BJohn34FTS4500001AHereisthewaytogetaDataFramewiththesampleabove:importpandasaspdkeys=('Name','Points','String')names=pd.Series(('John','Richard','John','Richard','John'))ages=pd.Series((24,3

python - PySpark 中的列过滤

我有一个从Hive表加载的数据帧df,它有一个时间戳列,比如ts,字符串类型的格式为dd-MMM-yyhh.mm.ss.MSa(转换为python日期时间库,这是%d-%b-%y%I.%M.%S.%f%p)。现在我想过滤数据框中最近五分钟的行:only_last_5_minutes=df.filter(datetime.strptime(df.ts,'%d-%b-%y%I.%M.%S.%f%p')>datetime.now()-timedelta(minutes=5))但是,这不起作用,我收到了这条消息TypeError:strptime()argument1mustbestring,

python - Django 模型 - 如何在事后通过 PK 过滤掉重复值?

我通过多次查询构建了一个Django模型对象列表。然后我想删除任何重复项,(所有这些对象都属于同一类型,具有auto_incrementintPK),但我不能使用set()因为它们不可散列。有没有快速简便的方法来做到这一点?我正在考虑使用dict而不是以id作为键的列表。 最佳答案 一般来说,如果可能,最好将所有查询合并为一个查询。即。q=Model.objects.filter(Q(field1=f1)|Q(field2=f2))代替q1=Models.object.filter(field1=f1)q2=Models.objec

python - 如何过滤具有给定键匹配值的字典列表

使用类似a=copyf(dictlist,key,valuelist)的接口(interface)。>>>dictlist=[{'first':'James','last':'Joule'},{'first':'James','last':'Watt'},{'first':'Christian','last':'Doppler'}]>>>valuelist=['James','John']>>>x=copyf(dictlist,'first',valuelist)>>>print(x)[{'first':'James','last':'Joule'},{'first':'James',

python - SQLAlchemy:如何过滤 PgArray 列类型?

在纯postgres中我们可以这样写:SELECT*FROMmy_tableWHERE10000=ANY(array_field);或SELECT*FROMmy_tableWHERE10000=ALL(array_field);如何在没有原始sql的情况下借助sqlalchemy做同样的事情? 最佳答案 a=ANY(b_array)相当于aIN(elements_of_b_array)1.因此您可以使用in_()method.我不记得曾经用过a=ALL(b_array)在我使用PostgreSQL的这些年里。你有吗?如果您正在处理一